#include <iostream>
#include <string>
using namespace std;

class Solution 
{
public:
    string compressString(string S) 
    {
        string nt{ S[0] };
        int cnt = 1;
        for (int i = 1; i < S.length(); i++)
        {
            if (nt.back() == S[i])
            {
                cnt++; 
            }
            else
            {
                nt += to_string(cnt);
                nt += S[i];
                cnt = 1;
            }
        }
        nt += to_string(cnt);

        if (nt.size() < S.size())
        {
            return nt;
        }
        return S;
    }
};

int main()
{
    string s{ "aabcccccaaa" };

    Solution xz;
    string nt = xz.compressString(s);
    cout << nt << endl;

	return 0;
}